package TextBookCode.unit2.unit2_1;

import java.lang.reflect.InvocationTargetException;

public class ReflectServiceImpl2 {
    private String name;

    public ReflectServiceImpl2(String name) {
        this.name = name;
    }

    public void sayHello() {
        System.err.println("hello " + this.name);
    }

    public ReflectServiceImpl2 getInstance() {
        ReflectServiceImpl2 object = null;

        try {
            object = (ReflectServiceImpl2)
                    Class.forName("TextBookCode.unit2.unit2_1.ReflectServiceImpl2").
                            getConstructor(String.class).newInstance("张三");
        } catch (InstantiationException | IllegalAccessException
                | NoSuchMethodException | SecurityException
                | IllegalArgumentException | InvocationTargetException
                | ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        return object;
    }

}
